home *** CD-ROM | disk | FTP | other *** search
-
- *** REVISION HISTORY ***
-
- This file contains notes regarding changes to TGE since its initial
- release.
-
-
- Legend:
- + Addition or improvement.
- ! Changed feature.
- - Bug fix.
- * New information.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.33, released Monday 18 July 1994
- ---------------------------------------------------------------------------
-
- * ADDED PROMINENT NOTICES IN SEVERAL LOCATIONS, STATING THAT USERS MUST
- DISABLE THE "FAR VIRTUAL TABLES" OPTION IN ORDER TO USE THE C++
- PORTIONS OF TGE. FAILURE TO DO SO WILL CAUSE LINKER ERRORS.
-
- + It is no longer necessary to disable the "Unsigned characters" option;
- the font classes can now deal with either signed or unsigned char
- parameters.
-
- - Fixed a bug in the VariableFont class which caused it to calculate the
- height of a string incorrectly.
-
- - Fixed a long-standing horrible bug in the VESA BIOS extension SVGA
- support. Bank switching would not be performed correctly on video
- cards with bank granularities other than 64 kb.
-
- - Fixed a minor bug in FIXFONT.CPP which caused the font loading routine
- to allocate slightly too much memory.
-
- + Added the FixedFont::charAddr(char) function. Given a character, this
- function will return the address of the first byte of the character's
- bitimage.
-
- + Added the replaceColour() routine, which is also callable as
- replaceColor().
-
-
- ---------------------------------------------------------------------------
- TGE version 1.32, released Saturday 21 May 1994
- ---------------------------------------------------------------------------
-
- * TGE 1.31 reported that trouble existed when using Borland C++ 4.0 with
- the VariableFont class; I speculated that it was due to a linker
- version incompatability. In fact, the problem occurred with all of
- the C++ portions of TGE, and with all Borland C++ versions back to at
- least 2.0. The reason for the problem was that I had compiled the
- library with the "Far virtual tables" option disabled, while some
- users had this option enabled; why this option should have any effect
- when TGE has no virtual functions is beyond me, but it does. It is
- also important to have the "Unsigned characters" option disabled, or
- to cast all parameters to the font load() routines to signed char.
-
- + Added the getVertLine(), putVertLine(), and putVertLineInv()
- functions; they are vertically-oriented versions of getLine(),
- putLine(), and putLineInv(). To eliminate version incompatibility,
- the getLine() function from earlier versions can now be called as
- either getLine() or getHorizLine(), putLine() as either putLine() or
- putHorizLine(), and putLineInv() as either putLineInv() or
- putHorizLineInv(). Registered users may disable these new vertical
- line functions by commenting out the TGE_USE_PUTVERTLINE #define in
- the TGE.H file, then recompiling the library so these unused functions
- will not occupy memory.
-
- + Fixed-sized fonts can now be loaded using a call to the new FixedFont
- member function load(), as with the VariableFont class. The older and
- considerably more obnoxious method of loading through the class
- constructor is still supported, but is no longer documented.
-
- + colourCloseTo(), colourCloseToX(), and MAXCOLOUR now have the synonyms
- colorCloseTo(), colorCloseToX(), and MAXCOLOR, respectively, as a
- courtesy to TGE users in the USA.
-
- - TGEDEMO would always look for ..\FONTS\BIGTEXT.FNT, regardless of the
- value of the TGEFONTS environment variable. Fixed.
-
- + Added the promotePalette() and demotePalette() functions, to make
- dealing with 6-bit palettes easier.
-
- + Added the saveRawFile() function, so that TGE can now save as well as
- load image files.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.31, released Saturday 05 March 1994
- ---------------------------------------------------------------------------
-
- + Added the QUICKREF.DOC file.
-
- ! Renamed the clipFilledRect() function to clipRect().
-
- ! Renamed TGEFONT.CPP to FIXFONT.CPP and TGE.C to TGEFUNCS.C.
-
- + Registered users can now save up to about 22 kb of memory by
- selectively commenting out a few #defines in TGE.H and compiling the
- TGE library. Following is a list of symbols and the features they
- disable when they're not #defined:
- TGE_USE_VIRTUAL_SCREENS Virtual screen support
- TGE_USE_OUTPUT_MODES Output mode support
- TGE_USE_REGION_FILLS fillRegion()
- TGE_USE_IMAGES Bitmap-related functions
- TGE_USE_ELLIPSES ellipse- and circle-drawing
- TGE_USE_COLOUR_APPROXIMATION colourCloseTo() and
- colourCloseToX()
- The source for the disabled features is simply not compiled, and so
- does not waste space in the executable or in memory.
-
- - Fixed a bug in setPaletteReg() and getPaletteReg() which caused the
- two functions to confuse the green and blue colour components. This
- problem only showed itself in custom drivers which did not have
- assembly versions of these routines.
-
- - imageSize() now clips to within the current input viewport, rather
- than the output viewport.
-
- - Fixed a bug in TGEFUNCS.C's putImageInv() routine which would, under
- very rare circumstances, cause the image to be output one line too low
- down.
-
- - Fixed a bug in VARFONT.CPP which would cause VariableFont to become
- confused when dealing with characters whose ASCII values were 128 or
- higher. Sometimes this confusion led to machine crashes.
-
- + Added some frequently used high-ASCII characters (ie. the lower-case
- letters with accents on them) to BIGTEXT.FNT.
-
- + Added ANGULAR.FNT, a variable-sized font. This font is available in
- the registered version only.
-
- * Files which are not included in the shareware version of TGE are no
- longer listed in the PACKING LIST section of TGE.DOC; they were marked
- as present in the registered version only, but there was some
- confusion anyway.
-
- - Fixed a bug in TGESETUP.C's TGE_loadFile() function. If the file
- FILE.EXT existed in the current directory, and TGE_loadFile was called
- to load "FILE" with the assumed extension ".EXT", then the file would
- not be found.
-
- - TGE no longer directly supports Chips & Tech SVGAs, as the support in
- previous versions was buggy. TGE will still support Chips & Tech
- cards through VESA BIOS extensions, such as those provided by the
- Universal VESA TSR.
-
- * Rewrote REGISTER.FRM, and renamed it to ORDER.FRM.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.30, released Wednesday 05 January 1994
- ---------------------------------------------------------------------------
-
- + While debugging an application, I changed the 320x200 driver's
- putLine() routine from the 32-bit code I'd recently written to a
- slower byte-by-byte copying; I completely forgot to change it back
- until after I'd released TGE 1.29·D.
-
- - Fixed a problem in NEWMOUSE.ASM which caused the mouse sensitivity to
- be incorrectly handled.
-
- + Added the PALETTE.C file, which contains the palette manipulation
- routines fadePalette(), greyPalette(), rotatePalette().
-
- + Added the RAWFILE.C file, which contains the loadRawFile(),
- displayRawFile(), and loadPalFile() routines.
-
- + Added the PCXFILE.C file, which contains the loadPcxFile(),
- displayPcxFile(), and loadPcxFilePal() routines.
-
- + scaleBitmap() can now allocate memory for the scaled image, if
- specified.
-
- + PCX2RAW now accepts wildcard filespecs, such as 'PCX2RAW pic*'.
-
- - Fixed a bug in NEWMOUSE.ASM which caused the minimum limits set by
- setHorizLimitsMouse() and setVertLimitsMouse() to be ignored.
-
- + Added support for 256-colour fonts with characters of varying sizes,
- by adding VARFONT.CPP. A sample 256-colour font file, BIGTEXT.FNT, is
- included.
-
- + Added MAKEFONT, a utility to create 256-colour fonts. This utility is
- in the TGE\UTIL directory.
-
- ! Added the INCLUDE, DRIVERS, FONTS, and DEMO directories within \TGE,
- and renamed the PCX2RAW directory to UTIL. All drivers have been
- moved to the DRIVERS directory; all fonts have been moved to the FONTS
- directory; the demo program has been moved to the DEMO directory.
-
- + TGE now uses the environment variables TGEDRIVERS and TGEFONTS. Now,
- when loading drivers, if the specified driver file cannot be opened,
- TGE will attempt to open it from the directory specified by the
- TGEDRIVERS variable; similarly, loading fonts can be done
- automatically from the directory specified by the TGEFONTS variable.
-
- + Added the Universal VESA TSR ("UNIVESA"), by Kendall Bennett, to the
- TGE distribution package. UNIVESA was not written by the author of
- TGE, but is included with the TGE package as a courtesy to those
- without VESA BIOS drivers for their SuperVGA cards. It may also be of
- use to TGE software developers, who are allowed to distribute UNIVESA
- with their programs free of charge, so long as UNIVESA remains
- unmodified.
-
- - TGE no longer directly supports Cirrus or Paradise SVGAs, as the
- support in previous versions was buggy. TGE will still support Cirrus
- and Paradise cards through VESA BIOS extensions, such as those
- provided by the Universal VESA TSR.
-
- ! There are now two versions of TGE: the shareware version and the
- registered version. The shareware version differs from the registered
- version in that the source code is not included.
-
- ! Renamed the Font class to FixedFont. Some FixedFont member functions
- have also been renamed; the changes are listed below, with the old
- names on the left and the new names on the right:
- wide width
- maxWide maxWidth
- deep height
- maxDeep maxHeight
- These changes were made because the old names were not as clear as the
- new ones. I apologize for any inconvenience these changes may cause.
-
- + Added the imageWidth() and imageDepth() routines, which are really
- macros implemented in TGE.H.
-
- ! Removed MAKELIB.BAT and TGE.LIB. These files have been replaced with
- BCL.LIB (Borland C++ large model), BCL.MAK (makefile for BCL.LIB),
- BCH.LIB (Borland C++ huge model), and BCH.MAK (makefile for BCH.LIB).
- Rather than using MAKELIB.BAT, these libraries may be generated by
- running 'MAKE -fbcl.mak' or 'MAKE -fbch.mak'.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.29·D (public beta), released Saturday 11 September 1993
- ---------------------------------------------------------------------------
-
- + Fonts are now stored in memory in bit-image format, and converted on
- the fly to byte-image format for display using putImageInv(). Font
- speed is marginally degraded, but memory requirements for fonts are
- significantly lowered.
-
- - The phone number to call to download the newest version of TGE has
- been changed to the correct number. Sorry about that...
-
- - TGE's assembler files will now assemble correctly with Turbo Assembler
- version 3.0, and presumably with newer versions as well.
-
- * Moved the revision history from TGE.DOC to this file.
-
- + Added the clipInputPoint() and clipOutputPoint() macros for clipping
- of points to either the input or the output viewport.
-
- + Added makefiles for TGEDEMO.EXE and TGE.LIB: TGEDEMO.MAK and
- TGELIB.MAK, respectively. (TGELIB.MAK requires TGELIB.LST.)
-
- + Added an optimized assembler putLineInv_mem_copy routine to each of
- the drivers. This change will greatly speed up putImageInv()'s output
- to virtual screens.
-
- - When outputting to a virtual screen using the 800x600 driver,
- horizLine() will no longer erroneously output to the physical screen
- rather than the virtual screen.
-
- + Moved a good deal of setup and initialization code from TGE.C to a new
- file, TGESETUP.C. If overlays are being used, TGESETUP.C can be
- overlaid so that it won't need to be in memory at all times, freeing
- up about 15 kb of memory. TGE.C should not be overlaid under most
- circumstances so that it performs at maximum speed.
-
- + Moved all of TGE into a single archive with sub-directories, rather
- than the main archive and a separate archive within it for each
- directory. TGE129D.ARJ will need to be extracted with a procedure
- similar to this:
- md d:\tge
- arj x tge129d d:\tge
-
- - TGE.DOC contained incorrect names for setGraphicsAddr(),
- setGraphicsInputAddr(), and setGraphicsOutputAddr() functions, and did
- not document getGraphicsInputAddr() or getGraphicsOutputAddr() at all.
-
- ! Renamed setOutputMode() to setGraphicsOutputMode().
-
- - When run without a Microsoft or compatable mouse driver loaded,
- TGEDEMO would display the sign-off screens twice upon exit. Fixed.
-
- - The 320x240, 320x400, and 360x480 drivers did not preserve the value
- of the DI register when clearGraphics() was called. Fixed.
-
- + The drivers now use 32-bit 386 code in many more places, boosting
- speed a bit.
-
- + Optimized the putPixel() code in the 320x240, 320x400, and 360x480
- drivers.
-
- + Added the LIB directory, in which there is now a MAKELIB.BAT file to
- automatically build TGE.LIB with your compiler. There is also a copy
- of TGE.LIB, built from OBJ files produced by Borland C++ 2.0 and Turbo
- Assembler 3.0.
-
- + Fixed a bug in NEWMOUSE.ASM which would sometimes cause the wrong
- memory areas to be used as the pointer image.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.29·C (public beta), released Friday 20 August 1993
- ---------------------------------------------------------------------------
-
- + Added support for virtual screens.
-
- + Added support for graphics output using COPY, AND, NOT, OR, and XOR,
- even to virtual screens.
-
- + TGE can now output to and input from different places. For example,
- it is possible to use a virtual screen for its input whilst using the
- real screen for its output, or vice-versa. There are now separate
- input and an output viewports.
-
- + Added the virtual coordinate system, via VCOORD.H.
-
- - Fixed a bug in NEWMOUSE.ASM which would, under rare circumstances,
- corrupt portions of the screen.
-
- ! To avoid memory problems, the palette is no longer saved/restored
- automatically during text/graphics mode switches.
-
- ! setBlockPalette() and getBlockPalette() are now no longer called with
- the first register and the number of registers to change, but with the
- first register and the last register. This change could make some
- future changes easier.
-
- + Improved documentation, describing the font file structure and how to
- use the PCX2RAW utility and its output.
-
- + TGE can now scale bitmaps, using the scaleBitmap() function.
-
- + Added the imageSizeDim(), putLineInv(), and vertLine() functions.
-
- - Fixed a horrible SVGA bug which caused TGE to work incorrectly on all
- SVGAs with bank sizes other than 64K.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.20, released Wednesday 05 May 1993
- ---------------------------------------------------------------------------
-
- + Added support for loadable fonts, viewports, colour approximation, and
- region fills.
-
- ! Rewrote the loadGraphDriver() function; it now returns more
- descriptive values.
-
- + Added various clipping routines: clipLine() and clipFilledRect() in
- CLIP.C, and clipPoint() and pointOnScreen() as macros in TGE.H.
-
- - Fixed aspect ratio problem in 360x480 driver.
-
- - Fixed bug in the 800x600 driver when run with the Trident 8900
- chipset.
-
- + Added the REGISTER.FRM file.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.10, released Friday 12 April 1993
- ---------------------------------------------------------------------------
-
- - Improved and debugged SuperVGA support. Bugs squashed include the
- infamous Trident and Oak bugs.
-
- + Added drivers for VGA 360x480 and SuperVGA 1024x768.
-
- + Added interrupt-driven definable mouse pointer services, as well as
- miscellaneous mouse routines.
-
- - Fixed default palette routines to do translation between 6-bit and
- 8-bit values.
-
- + Added ellipse(), filledEllipse(), circle(), and filledCircle().
-
- + Added PCX2RAW, a utility to convert 256-colour PCX files into raw
- bitmap and raw palette files, making importing graphics easy.
-
-
- ---------------------------------------------------------------------------
- TGE version 1.01, released Saturday 23 January 1993
- ---------------------------------------------------------------------------
-
- * First public release.
-
-
-
- End of document.
-